<template>
  <div class="my-counter">
    <button
      type="button"
      class="btn btn-light"
      :disabled="good.goods_count <= 1"
      @click="good.goods_count--"
    >
      -
    </button>
    <!-- v-model关联对象的goods_count属性和输入框 (双向绑定) -->
    <!-- 商品按钮 +和-, 商品数量最少1件 -->
    <input type="number" class="form-control inp" v-model.number="good.goods_count" />
    <button type="button" class="btn btn-light" @click="good.goods_count++">
      +
    </button>
  </div>
</template>

<script>
export default {
  //外部传入数据对象
  props: ["good"],
  // 因为数量控制要通过对象"互相引用的关系"来影响外面对象里的数量值, 所以最好传 对象进来
  watch:{
    //  侦听数量改变, 小于1, 直接强制覆盖1
    good:
    {
      deep: true,
      handler(){
        // 拿到商品数量, 判断小于1, 强制修改成1
        if(this.good.goods_count<1){
         this.good.goods_count=1
        }
      }
    }
  }
};
</script>

<style lang="less" scoped>
.my-counter {
  display: flex;
  .inp {
    width: 45px;
    text-align: center;
    margin: 0 10px;
  }
  .btn,
  .inp {
    transform: scale(0.9);
  }
}
</style>